insert into asm_clienti_fornitori

----***************************** Da File Excel  *************************

   select NULL codice_tipo_bolletta,
   concat(TO_CHAR(DATA,'YYYY'),NRO_FATTURA)codice_fattura_rif,
   NRO_FATTURA,  0 codice_bolletta, NULL CODICE_UTENTE,DATA,
       '1' IVA,
       CASE WHEN IVA20 <> NULL THEN 20 ELSE 21 END ALIQUOTA_IVA,
       IMPONIBILE,
       CASE WHEN IVA20 <> NULL THEN IVA20 ELSE IVA21 END IMPORTO_IVA,
       case when PIVA <> ' '
         then 'PIVA' else 'CFIS' end cp,
     case when PIVA <> ' '
       
       then PIVA else C_FIS end codici,
      C_FIS,PIVA,NULL,'XLS' prov
      FROM 
      ASM_ELENCO_CLIENTI_XLS
     union all 
      ----***************************** L I B E R I *************************
   select to_char(bollette.CODICE_TIPO_BOLLETTA) codice_tipo_bolletta,
   concat(trim(ff.anno_esercizio),ff.progressivo_fattura)codice_fattura_rif,
   TO_CHAR(FATTUR.PROGRESSIVO_FATTURA), bollette.codice_bolletta,TO_CHAR(bollette.CODICE_UTENTE),fattur.DATA_EMISSIONE_FATTURA,
       case when ive.CLASSE_IVA = 'I' then '1' else 
                 case when ive.classe_iva = 'E' then '3' else '2'
                                                 
                          
                 end
       end as IVA,
       ive.ALIQUOTA_IVA,
       competenze_riepilogo_iva.IMPONIBILE_IVA,
       competenze_riepilogo_iva.IMPORTO_IVA,
       case when (person.PARTITA_IVA <> ' '
        and   person.partita_iva <>  '00000000000'
        and    person.paRTITA_IVA IS NOT NULL) or length(trim(person.codice_fiscale)) =11 then 'PIVA' else 'CFIS' end cp,
     case when (person.PARTITA_IVA <> ' '
        and  person.partita_iva <>  '00000000000'
       and   person.paRTITA_IVA IS NOT NULL)
       then person.PARTITA_IVA else person.codice_fiscale end codici,
       person.codice_fiscale,person.partita_iva,TO_CHAR(person.codice_persona),'DB1' prov
   from db1.bollette@pgu3, db1.competenze_riepilogo_iva@pgu3,
   db1.ive@pgu3,db1.FATTURE@pgu3 fattur,db1.PERSONE@pgu3 person,db1.contratti_aggregazioni@pgu3,db1.fatture@pgu3 ff
   
   
   where   
     fattur.CODICE_GESTIONE = 'ASM'
        and   fattur.CODICE_origine_FATTURA = 'B'
        and  ff.CODICE_GESTIONE(+) = 'ASM'
        and  ff.CODICE_origine_FATTURA(+) = 'B'
        and   fattur.ANNO_ESERCIZIO = 2011 --^Anno Esercizio aaaa;N;NUMERICO^^
       and   bollette.CODICE_BOLLETTA_RIF = ff.CODICE_FATTURA(+)
     and  competenze_riepilogo_iva.CODICE_ORIGINE_COMPETENZA = 'B'
     and   competenze_riepilogo_iva.CODICE_GESTIONE = 'ASM'
     and   competenze_riepilogo_iva.CODICE_COMPETENZA = bollette.CODICE_BOLLETTA
     and   bollette.CODICE_GESTIONE = 'ASM'
     and   bollette.CODICE_causale = 'B'
     and   bollette.CODICE_BOLLETTA = fattur.CODICE_FATTURA
     
     and   ive.CLASSE_IVA = competenze_riepilogo_iva.CLASSE_IVA
     and   ive.CODICE_IVA = competenze_riepilogo_iva.codice_IVA
    
      
and contratti_aggregazioni.CODICE_UTENTE = bollette.codice_utente
and   contratti_aggregazioni.codice_persona_titolare  = person.CODICE_PERSONA
and contratti_aggregazioni.codice_gestione = 'ASM'
--and competenze_riepilogo_iva.IMPONIBILE_IVA >=0


UNION ALL

----***************************** S I A *************************

  
   select to_char(bollette.CODICE_TIPO_BOLLETTA) codice_tipo_bolletta,
   concat(trim(ff.anno_esercizio),ff.progressivo_fattura)codice_fattura_rif,
   TO_CHAR(FATTUR.PROGRESSIVO_FATTURA), bollette.codice_bolletta,TO_CHAR(bollette.CODICE_UTENTE),fattur.DATA_EMISSIONE_FATTURA,
       case when ive.CLASSE_IVA = 'I' then '1' else 
                 case when ive.classe_iva = 'E' then '3' else '2'
                                                 
                          
                 end
       end as IVA,
       ive.ALIQUOTA_IVA,
       competenze_riepilogo_iva.IMPONIBILE_IVA,
       competenze_riepilogo_iva.IMPORTO_IVA,
       case when (person.PARTITA_IVA <> ' '
        and   person.partita_iva <>  '00000000000'
        and    person.paRTITA_IVA IS NOT NULL) or length(trim(person.codice_fiscale)) =11 then 'PIVA' else 'CFIS' end cp,
     case when (person.PARTITA_IVA <> ' '
        and  person.partita_iva <>  '00000000000'
       and   person.paRTITA_IVA IS NOT NULL)
       then person.PARTITA_IVA else person.codice_fiscale end codici,
       person.codice_fiscale,person.partita_iva,TO_CHAR(person.codice_persona),'SIA' prov
   from db1.bollette@pgu3, db1.competenze_riepilogo_iva@pgu3,
   db1.ive@pgu3,db1.FATTURE@pgu3 fattur,db1.PERSONE@pgu3 person,db1.contratti_aggregazioni@pgu3,db1.fatture@pgu3 ff
   
   
   where   
     fattur.CODICE_GESTIONE = 'SIA'
        and   fattur.CODICE_origine_FATTURA = 'B'
        and  ff.CODICE_GESTIONE(+) = 'SIA'
        and  ff.CODICE_origine_FATTURA(+) = 'B'
        and   fattur.ANNO_ESERCIZIO = 2011 --^Anno Esercizio aaaa;N;NUMERICO;1^^
       and   bollette.CODICE_BOLLETTA_RIF = ff.CODICE_FATTURA(+)
     and  competenze_riepilogo_iva.CODICE_ORIGINE_COMPETENZA = 'B'
     and   competenze_riepilogo_iva.CODICE_GESTIONE = 'SIA'
     and   competenze_riepilogo_iva.CODICE_COMPETENZA = bollette.CODICE_BOLLETTA
     and   bollette.CODICE_GESTIONE = 'SIA'
     and   bollette.CODICE_causale = 'B'
     and   bollette.CODICE_BOLLETTA = fattur.CODICE_FATTURA
     
     and   ive.CLASSE_IVA = competenze_riepilogo_iva.CLASSE_IVA
     and   ive.CODICE_IVA = competenze_riepilogo_iva.codice_IVA
    
      
and contratti_aggregazioni.CODICE_UTENTE = bollette.codice_utente
and   contratti_aggregazioni.codice_persona_titolare  = person.CODICE_PERSONA
and contratti_aggregazioni.codice_gestione = 'SIA'

--and competenze_riepilogo_iva.IMPONIBILE_IVA >=0